import { IPSSysPFPlugin } from '../res/ipssys-pfplugin';
import { IPSModelObject } from '../ipsmodel-object';

/**
 *
 * @export
 * @interface IPSSysValueRule
 */
export interface IPSSysValueRule extends IPSModelObject {
  /**
   * 代码标识
   * @type {string}
   */
  codeName: string;

  /**
   * 自定义处理对象
   * @type {string}
   */
  customObject: string;

  /**
   * 自定义参数
   * @type {string}
   */
  customParams: string;

  /**
   * 前端扩展插件
   *
   * @type {IPSSysPFPlugin}
   */
  getPSSysPFPlugin(): IPSSysPFPlugin | null;

  /**
   * 正则式代码
   * @type {string}
   */
  regExCode: string;

  /**
   * 正则式代码2
   * @type {string}
   */
  regExCode2: string;

  /**
   * 正则式代码3
   * @type {string}
   */
  regExCode3: string;

  /**
   * 正则式代码4
   * @type {string}
   */
  regExCode4: string;

  /**
   * 值规则信息
   * @type {string}
   */
  ruleInfo: string;

  /**
   * 规则标记
   * @type {string}
   */
  ruleTag: string;

  /**
   * 规则标记2
   * @type {string}
   */
  ruleTag2: string;

  /**
   * 值规则类型
   * @description 值模式 [平台值规则类型] {SCRIPT：脚本、 REG：正则式（废弃）、 CUSTOM：自定义、 REGEX：正则式 }
   * @type {( string | 'SCRIPT' | 'REG' | 'CUSTOM' | 'REGEX')}
   */
  ruleType: string | 'SCRIPT' | 'REG' | 'CUSTOM' | 'REGEX';

  /**
   * 脚本代码
   * @type {string}
   */
  scriptCode: string;

  /**
   * 支持后台执行
   * @type {boolean}
   */
  enableBackend: boolean;

  /**
   * 支持前台执行
   * @type {boolean}
   */
  enableFront: boolean;
}
